package com.jingyi.common.core.domain.entity;

import com.jingyi.common.core.domain.BaseEntity;
import com.jingyi.common.enums.StateEnum;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 微信患者用户
 *
 * @author jingyi
 */
@Setter
@Getter
@NoArgsConstructor
public class WxUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private Long userId;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 头像
     */
    private String avatar;


    /**
     * 姓名
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 编号
     */
    private String code;

    /**
     * 微信openid
     */
    @NotNull(message = "Illegal Argument: openId is null")
    private String openId;

    /**
     * 身份证号码
     */
    private String identityCard;

    /**
     * 性别（0：men，1：women）
     */
    private String gender;

    /**
     * 电话
     */
    private String phone;

    /**
     * 年龄
     */
    private String age;

    /**
     * 现住地
     */
    private String address;

    /**
     * 状态（0：未反馈，1：处理完成，2：处理中，3：审核不通过，4：资料不全）
     */
    private String state;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private List<WxUserMedicalRecord> medicalRecords;


    private String stateName;

    public WxUser(String nickName,String openId,String avatar,String code){
        this.nickName = nickName;
        this.openId = openId;
        this.avatar = avatar;
        this.code = code;
    }


    public String getStateName(){
        StateEnum stateEnum = StateEnum.getByCode(this.state);
        if(null != stateEnum){
            return stateEnum.getDesc();
        }
        return null;
    }

    public String _getTableName(){
        return "wx_user";
    }



}
